import request from '@/utils/request';

// 帖子评论信息对象
export type PostCommentInfo = {
	/** 自增ID */
	id : number;
	/** 评论编码 */
	commentCode : string;
	/** 帖子ID */
	postId : number;
	/** 评论用户ID */
	commenterUserId : number;
	/** 父评论ID */
	parentCommentId : number | null;
	/** 回复目标用户ID */
	replyToUserId : number | null;
	/** 评论内容 */
	commentContent : string;
	/** 评论点赞数量 */
	likeCount : number;
	/** 是否草稿 0-否 1-是 */
	isDraft : number;
	/** AI审核状态 0-待审核 1-通过 2-拒绝 */
	aiAuditStatus : number;
	/** AI审核拒绝原因 */
	aiAuditReason : string | null;
	/** AI审核时间 */
	aiAuditTime : string | null;
	/** 创建人 */
	createdBy : string;
	/** 创建时间 */
	createdTime : string;
	/** 更新人 */
	updatedBy : string | null;
	/** 更新时间 */
	updatedTime : string;
	/** 删除标志 0-未删除 1-已删除 */
	deletedFlag : number;
};


// 分页响应类型
export type PageResponse<T> = {
	rows : T[];
	total : number;
	code : number;
	msg : string;
};

// 更新接口返回类型
export function getCommentsByPostId(postId : number, pageNum : number = 1, pageSize : number = 10) : Promise<PageResponse<PostCommentInfo>> {
	return request({
		url: `/post/post/comment/${postId}`,
		method: 'GET',
		params: {
			pageNum,
			pageSize
		}
	});
}

export const addPostComment = (data : PostCommentInfo) => {
	return request({
		url: `/post/post/comment`,
		method: 'POST',
		data
	})
}

// 评论点赞/取消点赞
export function toggleCommentLike(commentId : number) {
	return request({
		url: '/post/post/comment/like/' + commentId,
		method: 'POST'
	});
}

// 根据帖子id获取用户点赞的评论ID列表
export function getUserCommentLikedByPostId(postId : number) {
	return request({
		url: '/post/post/comment/userCommentLiked/' + postId,
		method: 'GET'
	});
}